package com.starhub.common.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * Milvus连接配置
 * 
 * @version: V1.0
 * @author: liuhf
 */
@Data
@Component
@ConfigurationProperties(prefix = "milvus.connection")
public class MilvusConnectionConfig {

    /**
     * 连接超时时间（秒）
     */
    private int connectTimeout = 10;

    /**
     * 保持连接时间（秒）
     */
    private int keepAliveTime = 30;

    /**
     * 保持连接超时时间（秒）
     */
    private int keepAliveTimeout = 10;

    /**
     * 空闲超时时间（秒）
     */
    private int idleTimeout = 60;

    /**
     * 客户端空闲超时时间（分钟）
     */
    private int clientIdleTimeout = 5;

    /**
     * 最大重试次数
     */
    private int maxRetryTimes = 3;

    /**
     * 重试间隔（毫秒）
     */
    private long retryIntervalMs = 1000;

    /**
     * 连接清理间隔（分钟）
     */
    private int cleanupInterval = 5;

    /**
     * 健康检查间隔（小时）
     */
    private int healthCheckInterval = 1;
} 